<?php

namespace app\admin\traits;

use ShidianUtil\Utils\TimeUtil;
use think\exception\ValidateException;
use think\facade\Request;

/**
 * 默认时间处理
 * Trait DefaultTimeTrait
 * @package app\admin\traits
 */
trait DefaultTimeTrait
{
    /**
     * 默认 开始&结束时间
     * @param $timeType
     * @return array
     */
    private function defaultStartAndEndTime($timeType = TimeUtil::MONTH): array
    {

        $defaultStartTime = TimeUtil::stamp($timeType, time());
        $defaultEndTime = TimeUtil::stamp($timeType, $defaultStartTime, false);

        $startTime = Request::param('startTime', $defaultStartTime);
        $endTime = Request::param('endTime', $defaultEndTime);

        if (!is_numeric($startTime)) {
            throw new ValidateException('请选择开始时间');
        }
        if (!is_numeric($endTime)) {
            throw new ValidateException('请选择结束时间');
        }

        $startTime = TimeUtil::stamp(TimeUtil::DAY, $startTime);
        $endTime = TimeUtil::stamp(TimeUtil::DAY, $endTime, false);

        return [
            'startTime' => $startTime,
            'endTime' => $endTime
        ];
    }
}
